package com.ruanruan.structure.graph;

import java.util.ArrayList;

public interface Traverse {

    /**
     * 获取图的前序遍历结果
     * @return 的前序遍历结果
     */
    Iterable<Integer> getTraverse();

    /**
     * 获取图的连通分量个数
     * @return 联通分量个数
     */
    int getCcCount();

    /**
     * 判断两个顶点之间是否连接
     * @param v 顶点
     * @param w 顶点
     * @return true 连接 false 不连接
     */
    boolean isConnected( int v, int w);

    /**
     * 图的联通分量
     * @return 联通分量
     */
    ArrayList<Integer>[] components();
}
